package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc UpdateAchiveStateCodeComReqDto
 * @使用场景
 */
@Data
public class UpdateAchiveStateCodeComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 成果ID
     */
    @NotNull(message = "成果ID不能为空")
    @ApiModelProperty("成果ID")
    private String achievementId;

    /**
     * 成果操作类型 ADD_EDIT_ACHIVE_TO_RELEASED:新增草稿成果-空转待发布 CANCEL_ACHIVE_AUDIT_TO_RELEASED:撤销成果申请-待审核转待发布 REJECT_AUDIT_TO_RELEASED:驳回成果申请（待审核）-待审核转待发布 REJECT_CERT_TO_RELEASED:驳回成果（待认证）-待认证转待发布 ADD_AUDIT_TO_AUDIT:新增待审核成果-空转待审核 ACHIVE_APPLY_TO_AUDIT:发起成果申请-待发布转待审核 AGREE_ACHIVE_TO_CERT:同意成果申请-待审核转待认证 CERT_AGREE_TO_SUCCESS:认证通过-待认证转认证成功 CERT_FAIL_TO_FAIL:认证失败-待认证转认证失败 ACHIEVE_ACHIEVEMENT:存档成果
     */
    @NotNull(message = "成果操作类型不能为空")
    @ApiModelProperty("成果操作类型")
    private String achiveOperateType;

    /**
     * 创建于空间ID
     */
    @NotNull(message = "创建于空间ID不能为空")
    @ApiModelProperty("创建于空间ID")
    private String spaceId;

}
